package com.tedu.spring.auto;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;

@Repository
public class UserCache {
    /*
        1.@Autowired注解：
          1.1 根据类型进行装配,不能根据Bean对象名称进行装配;
          1.2 一个接口有多个实现类时,会抛出异常:NoUniqueBeanDefinitionException;
              需要结合@Qualifier注解进行装配;
        2.@Qualifier注解：
          2.1 根据IoC容器中Spring Bean对象的名称进行装配;
          2.2 一般结合@Autowired注解一起使用;
     */
    @Autowired
    @Qualifier("cacheImpl1")
    public Cache cache;

    @Override
    public String toString() {
        return "UserCache [ "+ cache+" ]";
    }
}
